package br.ufc.si.sistema.model;


import br.ufc.si.sistema.to.BolsaTO;
import br.ufc.si.config.HibernateUtil;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;


/**
 *
 * @author Yarllysson
 */

public class BolsaDAO {
    public static void main(String[] args) {
		/*
                Chamando Inserir
                TipoBolsaTO tipobolsa = new TipoBolsaTO();
                tipobolsa.setTipo_bolsa_id(0);
                tipobolsa.setTipo("Estenção");
                tipobolsa.setTitulo("Pet222");
                System.out.println("teste222");           
                inserir(tipobolsa);
                */
        
                
                /*
                Chamando Atualizar
                Transaction tx = null;  
                Session session = null;  
                session = HibernateUtil.getSession();
                tx = session.beginTransaction();  
                int id = 1;
                TipoBolsaTO tipoBolsaTO = ( TipoBolsaTO ) session.get( TipoBolsaTO.class, id );
                tipoBolsaTO.setTitulo("testando23");  
                atualizar(tipoBolsaTO);
                */
                
                /*
                Chamar Deletar
                Transaction tx = null;  
                Session session = null;  
                session = HibernateUtil.getSession();
                tx = session.beginTransaction();  
                int tipo_bolsa_id = 2;
                TipoBolsaTO tipoBolsaTO = ( TipoBolsaTO ) session.get( TipoBolsaTO.class, tipo_bolsa_id );
                deletar(tipoBolsaTO);
                */
                listarTodos();
	}
    

public static void inserir(Object obj) throws HibernateException{  
        Transaction tx = null;  
        Session session = null;  
        try{  
            session = HibernateUtil.getSession();
            tx = session.beginTransaction();  
            session.save(obj);  
            tx.commit();          
        }catch (HibernateException e){  
            tx.rollback();  
        }finally{  
            session.close();  
        }         
    
}  
   
   
public static void deletar(BolsaTO BolsaTO) throws HibernateException {  
    Session session = null;  
    Transaction tx = null;  
    try{  
        session = HibernateUtil.getSession(); 
        tx = session.beginTransaction();      
        session.delete(BolsaTO);      
        tx.commit();          
    }catch (HibernateException e){  
        tx.rollback();  
    }finally{  
        session.close();  
    }  
    }       
public static void listarTodos() throws HibernateException {  

    Criteria criteria =  HibernateUtil.getSession().createCriteria(BolsaTO.class);  
   List<BolsaTO> lista = criteria.list();
    System.out.println(lista);
     int tamanho_lista = lista.size();  
   for(int i=0;i<tamanho_lista;i++)  
            {  
                BolsaTO BolsaTO = lista.get(i);              
                System.out.println(BolsaTO.getId_tipo_bolsa()
                        +","+BolsaTO.getId_bolsista()
                        +","+BolsaTO.getId_professor_orientador());              
            }  

    }   

public static void inserir(BolsaTO bolsaTO) throws HibernateException{  
        Transaction tx = null;  
        Session session = null;  
        try{  
            session = HibernateUtil.getSession();
            tx = session.beginTransaction();  
            session.save(bolsaTO);  
            tx.commit();          
        }catch (HibernateException e){  
            tx.rollback();  
        }finally{  
            session.close();  
        }         
    
}

   
public static void atualizar(BolsaTO bolsaTO) throws HibernateException{  
        Transaction tx = null;  
        Session session = null;  
        try{  
            session = HibernateUtil.getSession();
            tx = session.beginTransaction();  
            session.update(bolsaTO);  
            tx.commit();          
        }catch (HibernateException e){  
            tx.rollback();  
        }finally{  
            session.close();  
        }         
    
    }  
   

}
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

 

